/*****************************************************************************
 * Copyright (c) 2019, Nations Technologies Inc.
 *
 * All rights reserved.
 * ****************************************************************************
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 * - Redistributions of source code must retain the above copyright notice,
 * this list of conditions and the disclaimer below.
 *
 * Nations' name may not be used to endorse or promote products derived from
 * this software without specific prior written permission.
 *
 * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY NATIONS "AS IS" AND ANY EXPRESS OR
 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
 * DISCLAIMED. IN NO EVENT SHALL NATIONS BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
 * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 * ****************************************************************************/

/**
*\*\file main.c
*\*\author Nations
*\*\version v1.0.0
*\*\copyright Copyright (c) 2019, Nations Technologies Inc. All rights reserved.
**/
#include "main.h"

#include "common.h"
#include "drv_led_sw.h"
#include "bsp_delay.h"
#include "drv_adc_init.h"
#include "drv_spi_init.h"
#include "srv_spi_flash.h"
#include "srv_menu.h"
#include "srv_lcd.h"
#include "drv_lcd_init.h"

#include "srv_dino_game.h"




/**
*\*\name    Main program.
*\*\return  none
**/
int main(void)
{
    DPM_BoardInit(); 

    DPM_SpiInit();

    DPM_LedSwInit();

    DPM_AdcInit();

    LCD_GPIO_Init();//初始化GPIO
    LCD_Init();//LCD初始化

    DPM_MenuInit();

    // uint32_t id = spi_flash_read_id();
    // id = spi_flash_read_id();
    // printf("**************test*****************\n");
    // printf("w25 id : 0x%x\n", id);
    // uint8_t w_data[100];
    // uint8_t r_data[100];

    // spi_flash_erase_sector(0x00);
    // SysTick_Delay_Ms(1000);
    
    // for(int i = 0; i<100; i++)
    // {
    //     w_data[i] = i + 2;
    // }
    // spi_flash_write_no_check(0x00, w_data, 100);

    // spi_flash_read(0x00, r_data, 100);
    // for(int i = 0; i<100; i++)
    // {
    //     printf("%d ", r_data[i]);
    // }


    LCD_Fill(0, 0, 240, 135, BLACK);
    while (1)
    {
        DPM_MenuCmd();
        // DPM_DrawGround();
        // DPM_DrawCloud(0);
        // DPM_DrawCactus(0);
        // DPM_DrawDInoRun();
        // DPM_DrawDinoJump(0);
        // SysTick_Delay_Ms(30);
        // DPM_DinoGame(0);
    }
}




